#!/bin/Rscript

#Qual a nova utilidade desse gráfico já que não temos quantidades de clientes diferentes?
library("ggplot2")

#Ganhos Erro -40%
sup_m40_100 <- c(-10.03, -9.57)
ut_m40_100 <- c(2.95, 3.03)
rf_m40_100 <- c(1.09, 1.15)

#Ganhos Erro 40%
sup_40_100 <- c(-51.9, -50.5)
ut_40_100 <- c(1.51, 1.59)
rf_40_100 <- c(4.69, 4.77)

#Gráfico de análise de sensibilidade
heur <- array(dim=6)
min <- array(dim=6)
erro <- array(dim=6)
max <- array(dim=6)
cli <- array(dim=6)
sh <- array(dim=6)

heur[7] = "UT"
min[7] = ut_40_100[1]
erro[7] = 40
max[7] = ut_40_100[2]
cli[7] = 100
sh[7] = 19

heur[8] = "UT"
min[8] = ut_m40_100[1]
erro[8] = -40
max[8] = ut_m40_100[2]
cli[8] = 100
sh[8] = 19

heur[9] = "SUPER"
min[9] = sup_40_100[1]
erro[9] = 40
max[9] = sup_40_100[2]
cli[9] = 100
sh[9] = 19

heur[10] = "SUPER"
min[10] = sup_m40_100[1]
erro[10] = -40
max[10] = sup_m40_100[2]
cli[10] = 100
sh[10] = 19

heur[11] = "RF"
min[11] = rf_40_100[1]
erro[11] = 40
max[11] = rf_40_100[2]
cli[11] = 100
sh[11] = 19

heur[12] = "RF"
min[12] = rf_m40_100[1]
erro[12] = -40
max[12] = rf_m40_100[2]
cli[12] = 100
sh[12] = 19

#Gráfico
#jpeg("ganhos_gerais.jpg")
#png("ganhos_gerais.png")

pd <- position_dodge(.1) # move them .05 to the left and right

ganho <- data.frame(heuristica=heur, minimo=min, err=erro, maximo=max, client=cli, shap=sh)
ganho$err <- factor(ganho$err, levels=c(-40, 40), labels=c("-40%","40%"))

limits <- aes( x=client, y=(maximo + minimo)/2, ymin=(minimo), ymax=(maximo), colour=heuristica, shape=heuristica)

p <- ggplot(ganho, limits) + facet_grid(. ~ err) 
p <- p + scale_x_continuous(breaks=c(50, 100)) 
p <- p + scale_y_continuous(breaks=10*-7:1)
p <- p + geom_point(position=pd, size=3) 
p <- p + xlab("Número de clientes") 
p <- p + ylab("Ganho em relação a ON") 
p <- p + theme_bw() 
p <- p + scale_shape_manual(values=c(19, 1, 8)) 
p <- p + geom_errorbar(limits) 
p <- p + opts(axis.text.x  = theme_text(size = 12, colour = 'black')) 
p <- p + opts(axis.text.y  = theme_text(size = 12, colour = 'black')) 
p <- p + opts(plot.title=theme_text(size=10)) 
p <- p +  opts(legend.text=theme_text(size=11)) 
p <- p + opts(legend.position = "right") 
p <- p + opts(strip.text.x=theme_text(size=12)) 
p <- p + opts(strip.text.y=theme_text(size=12))

print(p)
ggsave("ganhos_gerais.png", bg="white", dpi=100, width = 4.5, height = 3)

dev.off()


